Tổng kết Các kiểu bộ nhớ

Bộ nhớ được sắp xếp theo kiểu phân cấp với bộ nhớ lớn hơn trở nên rẻ hơn, chậm hơn, bộ nhớ nhỏ hơn thì nhanh hơn, đắt hơn. Trong 1 bộ nhớ phân cấp đặc trưng ta có thể thấy 1 cache, bộ nhớ chính, bộ nhớ phụ(thường là ổ đĩa). Điều này giúp các lập trình viên cảm thấy ấn tượng với bộ nhớ lớn và nhanh mà không cần quan tâm thông tin truyền giữa các cấp độ khác nhau của hệ thống này.

Cache hoạt động như 1 bộ nhớ đệm. Để giữ các khối được sử dụng thường xuyên của bộ nhớ chính và ở gần CPU. Một mục tiêu của bộ nhớ phân cấp là giúp cho các bộ xử lý cảm thấy thời gian truy cập hiệu quả gần như thời gian truy cập cache. Mục tiệu này phụ thuộc vào các chương trình đang được thực hiện, kích cỡ và tổ chức của cache và các chính sách thay thế. Bộ xử lý liên quan được tìm thấy trong cache được gọi là cache hit(lượt truy cập), ngược lại cache miss. Trên một miss, dữ liệu bị mất được lấy lại từ bộ nhớ chính và toàn bộ khối có chứa dữ liệu sẽ được tải vào cache.

Tổ chức của cache quyết định phương thức CPU dùng để tìm kiếm cache cho nhiều địa chỉ bộ nhớ khác nhau. Cache được tổ chức theo nhiều cách: ánh xạ trực tiếp, kết hợp hoàn toàn, thiết lập kết hợp. Ánh xạ trực tiếp cache không cần thuật toán thay thế, tuy nhiên kết hợp hoàn toàn và thiết lập kết hợp phải sử dụng FIFO, LRU và các chính sách thay thế khác để quyết định khối nào bị xoá khỏi cache để có chỗ trống cho một khối mới, nếu như cache bị full. LRU cho khả năng hiệu quả cao nhưng khó thực thi.

Một mục tiêu khác của bộ nhớ phân cấp là mở rộng bộ nhớ chính bằng cách sử dụng đĩa cứng, gọi là bộ nhớ ảo. Bộ nhớ ảo cho phép chạy các chương trình trên các bộ nhớ địa chỉ ảo lớn hơn bộ nhớ vật lý. Nó cũng cho phép nhiều quá trình chạy đồng thời. Nhược điểm của bộ nhớ ảo với phân trang(bộ nhớ đệm) bao gồm tiêu tốn nhiều tài nguyên hơn(lưu trữ các bảng page) và truy cập bộ nhớ nhiều hơn(để truy cập đến bảng page). Bộ nhớ ảo cũng gánh thêm chức năng biên dịch để chuyển đổi địa chỉ ảo sang địa chỉ vật lý. Quan hệ giữa bộ nhớ ảo và bộ nhớ chính tương tự như quan hệ giữa bộ nhớ chính và cache. Khái niệm về bộ nhớ cache và TLB thường gây nhầm lẫn. Trong thực tế, TLB là một cache. Điều đó rất quan trọng để nhận ra rằng địa chỉ ảo phải được biên dịch sang địa chỉ vật lý trước khi thực hiện những việc khác, và đó chính là những gì TLB thực hiện. Cho dù cache và paged memory có vẻ giống nhau, nhưng vẫn có sự khác biệt: cache tăng hiệu quả thời gian truy cập tới bộ nhớ chính trong khi đó phân trang lại tăng kích cỡ bộ nhớ chính.

Tài liệu tham khảo

WikiPedia: Các kiểu bộ nhớ http://computerscience.jbpub.com/ecoa/2e/Null06.pd... http://www.pcguide.com/ref/ram/techDRDRAM-c.html http://www.pcguide.com/ref/ram/techEDO-c.html http://www.pcguide.com/ref/ram/techFPM-c.html http://www.pcguide.com/ref/ram/techSLDRAM-c.html http://www.pcguide.com/ref/video/techMDRAM-c.html http://en.wikipedia.org/wiki/DDR_SDRAM http://en.wikipedia.org/wiki/EPROM http://en.wikipedia.org/wiki/Flash_memory http://en.wikipedia.org/wiki/SDRAM